1. Field of Invention
This invention relates to data transfer apparatus and methods appropriate for an environment where plural computers share a network and transfer data.
2. Description of Related Art
Initially, a computer network where this invention can be used is explained.
FIG. 1 shows a schematic configuration of a computer network. In this figure, plural computers 100 are located at physically distributed places. These computers 100 are connected with each other by network 101. Each computer 100 has applications (application programs) 102. Data communication control program 103 executes data communications requested by the applications 102 in accordance with a certain procedure. The network 101 is a transmission medium used for data communication. Thus, the computers 100 perform data transfer requested by the applications 102. This configuration is generally known as a LAN (Local Area Network) and conventionally employed in Ethernet.
In this computer network, applications 102 on the distributed computers 100 are the substantial entities of data transfer. Total data transfers and transmission rate are restricted in accordance with the functions of applications 102 as described below.
(1) Data transfer of control data among distributed applications 102
The objective is to communicate control information between distributed applications 102. PA1 Some kilobyte (1 kilo=1,000) of data is transferred at a time. For example, the amount of data transferred by using RPC (IETF RFC1057) is 1.5 kilobyte. PA1 The restriction on transmission delay is high. (In other words, significant transmission delays are not acceptable.) PA1 The objective is mainly to transfer result data that is processed and stored to the computer that requests the result data. An example of such data is an image to be printed. PA1 From some hundred kilobyte to some hundred megabyte (1 megabyte=1,000,000) of data is transmitted at a time. The amount of data to be transferred differs according to the contents of the data or the total amount of processing. For example, the amount of data of an A4 size, 400 dpi monochrome 16 tone level image print is about 8 megabytes. PA1 The restriction on transmission delay is comparatively low. Meanwhile, the requirement for a line rate or bandwidth of the transmission medium depends on the amount of data to be transferred, and can be very high. PA1 Premise: The capacity of a network resource and the amount of the network resource used by other data transfers are not known. PA1 Principle: A data transfer is started by using the network resource requested by an application. When occurrence of congestion is fed back, the bandwidth for the data transfer is decreased in order to recover from the congestion state. PA1 Feature: Each sender can start data transfer at any time without delay. PA1 Characteristic: Transmission efficiency is good when the load of the network is low. Meanwhile, transmission efficiency is poor when the load of the network is high. Transmission efficiency is independent from the amount of data by a single data transfer. PA1 Prior Art: ABR (Available Bit Rate), TCP (Transmission Control Protocol) PA1 Premise: The capacity of a network resource and the amount of the network resource used by other similar data transfers are known. PA1 Principle: The network resource is allocated for each data transfer according to a report of the network resource requested by an application and the amount of the unused network resource. Thus, congestion states are prevented from occurring. PA1 Feature: There is a delay between the request of the data transfer and the start thereof. PA1 Characteristic: Transmission efficiency is good when the amount of data by a single data transfer is large. Meanwhile, transmission efficiency is poor when the amount of data by a single data transfer is small. The transmission efficiency is independent from the load of a network. PA1 Prior art: RSVP
(2) Data transfer of the results processed by an application 102
Since both cases are used for communication between computers, data transfers should satisfy the following requirements. The data communication control program 103 executes the process that satisfies the requirements in a unit of a packet.
1) Recovery from a transmission error. In other words, execution of an acknowledgment sequence.
2) When the application 102 is invoked, data is transferred immediately.
This is generally called connectionless communication. The connectionless communication always keeps a network available while computers are activated.
Meanwhile, the network 101 is the transmission medium for data transfer. The transmission medium includes transmission paths and a packet switch that connects transmission paths. This type of network 101 is generally called a switch-type packet switching network. The packet switch has a buffer 101a (see FIG. 2) that stores a packet temporarily for each transmission path.
Next, a conventional data transfer apparatus used on a computer network is explained. FIG. 2 shows a schematic configuration of the conventional data transfer apparatus. In the figure, congestion detector 104 is a feedback controller that detects a congestion state, which is explained below, on the network 101 and informs a sender of the congestion state. Recovery-type bandwidth controller 105 provided on a sender begins data transfer at the requested transmission rate or the maximum transmission rate thereof, when the application 102 requests a data transfer. In addition, while receiving a congestion state message from the congestion detector 104, the recovery-type bandwidth controller 105 executes a procedure for recovery from the congestion state by reducing the transmission of packet data or decreasing the transmission rate.
The reason why this control is required is now explained. Data transfer between computers occupies the network, i.e., the transmission medium, for a certain time period. The degree of the occupancy is the amount of network resource used by a data transfer. Specifically, the amount of network resource used by a data transfer is defined by a bandwidth used by the data transfer between a sender and a receiver, and the time duration of the data transfer.
In LAN, computers or applications are simultaneously connected with the fixed transmission medium (transmission path) in such a manner that both the scale and cost of configuration of the transmission medium are minimized. Therefore, in the network described above, conflict between transmission requests should be controlled.
A network resource provided by a transmission medium is limited. As a result of conflict, when the amount of the network resource requested by data transfers exceeds the capacity of the network resource, part of the packet data is lost. This is called a congestion state. The sender is required to prevent data from being lost by controlling the transmission of packets, so as to satisfy the above-described requirements 1) and 2). This is called congestion control.
Meanwhile, when the large volume of result data is transmitted in a short period, the congestion control described above sometimes is not used. Instead, prior to a data transfer, a specific transmission path is established on the network so as to occupy the network resource for a certain time period. There are two ways for establishing a transmission path as follows.
[1] A transmission path is established when an application is invoked (e.g., line switching like a telephone network)
[2] A transmission path is established dynamically at the time of a data transfer after the application is invoked (e.g., RSVP: A New Resource ReSerVation Protocol)
FIG. 3 shows a schematic configuration of a data transfer apparatus that establishes a transmission path dynamically at the time of a data transfer. In the figure, avoidance-type bandwidth controller 106 transmits a transmission request to resource allocation section 107 prior to a data transfer. When receiving the transmission request from avoidance-type bandwidth controller 106, resource allocation section 107 establishes a transmission path and instructs the avoidance-type bandwidth controller 106 to start the data transfer. When establishing a transmission path, the transmission rate is determined on the condition that the maximum bandwidth of the transmission medium is known and can be occupied. The amount of the used bandwidth of the transmission medium is not monitored.
To summarize, there are the following two methods of congestion control.
(1) Recovery-type congestion control (FIG. 2):
(2) Avoidance-type congestion control (FIG. 3):
Recently, the amount of data requested by applications has increased sharply. However, LAN is also requested to accept the conventional small amount of data (e.g., control data) simultaneously. Therefore, it is desirable for a network to have the merits of the two types of the congestion control methods described above.